Sanity Testing:

Sanity testing is the subset of regression testing and it is performed when we do not have enough time for doing regression testing.

A subset of regression test cases are executed after receiving a build or code with small or minor changes in the functionality or code, to check whether it resolved the issues or software bugs and no other software bug is introduced by the new changes.

Sanity testing is performed after the build has cleared the smoke tests and has been accepted by QA team for further testing. Sanity testing checks the major functionality with finer details.

Sanity testing is performed when the development team needs to know quickly the state of the product after they have done changes in the code, or there is some controlled code changed in a feature to fix any critical issue, and stringent release time-frame does not allow complete regression testing.



Q: Difference between Smoke & Sanity testing?
	See the "Smoke & Sanity.xlsx"



Note:
1) Both sanity tests and smoke tests are ways to avoid wasting time and effort by quickly determining whether an application is too flawed to merit any rigorous testing. 

2) Smoke testing performed on a particular build is also known as a build verification test.

3) One of the best industry practice is to conduct a Daily build and smoke test in software projects.

4) As per the needs of testing, you may have to execute both Sanity and Smoke Tests in the software build. In such cases, you will first execute Smoke tests and then go ahead with Sanity Testing.

